package com.javaoopseven;

public class Demo {
    /*
    * 异常：
    *    定义：是指在程序的运行过程中所发生的不正常的事件，
    *       它会中断正在运行的程序
    *     解决：
    *       1：程序员手动的去维护。
    *       2：给程序添加异常处理机制。--->推荐
    *
    * 异常处理机制：提高程序健壮性的手段。
    *   好处：给程序添加一个容错的机制。
    *   实现：使用关键字实现，
    *       try、catch、 finally、throw、throws
    *   try:执行可能出现的异常的代码块。
    *       tip:不能单独使用。
    *   catch:捕获异常，并且处理异常。
    *        tip:
    *           程序正常不会执行catch中的代码块。
    *           捕获异常与抛出异常的类型不一致，或不是其子类，不会执行catch中的代码块。
    *           不能单独使用。
    *           catch是可以写多个的。
    *   finally：执行必须要加载的代码,必须执行。
    *       只有一种情况不执行:手动退出java的JVM:  System.exit(1)
    *
    *   throws：在一个方法体中抛出了异常，通知调用者去灵活的处理异常。
    *           调用者处理异常。
    *           调用者继续声明异常
    *      应用场景：
    *           自己的方法不知道后面会因为调用者的调用抛出怎么异常，
    *               就会提前声明这个异常。
    *
    *   throw：需要程序员自行抛出异常
    *       应用场景：
    *           1：可以对异常信息进行自定义。
    *           2：后面可以抛出自定义的异常。
    *
    *   自定义异常的步骤：
    *       1：编写一个类继承内置的一个异常类型。
    *       2：编写有参和无参的构造方法。
    *       3：直接使用自己的异常类。
    *
    *     throw             throws
    *   生成并抛出异常	     声明方法内抛出了异常
        位于方法体内部，    可作为单独语句使用,必须跟在方法参数列表后面，不能单独使用
        抛出一个异常对象，      可以跟多个异常。
        * 且只能是一声明抛出异常类型。
     * */
}
